Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.05.2013, 12:51
Новичок на форуме
Отправить личное сообщение для Estrella Посмотреть профиль Найти все сообщения от Estrella
 
Регистрация: 15.05.2013
Сообщений: 2

Ошибка при передаче данных в php
Доброе время суток. Уважаемые программисты очень нужна ваша помощь, уже второй день ищу проблему. У меня есть форма с которой данные отправляются ajax-ом в пхп, но почему каждые срабатывает error и выдает ошибку "function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.len gth;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="fu nction"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}"
$("#campaign_update").click(function(){
        campaign = $("#campaign_id").val();
        name = $("#campaign_name").val();

        category = $("#campaign_category").val();

        if ($("#campaign_is_ware").is(":checked")) {
          is_ware = 1;
        } else {
          is_ware = 0;
        }

        time_from = $("#campaign_time_from").val();
        time_to = $("#campaign_time_to").val();
        url = $("#campaign_url").val();
        url_change = $("#campaign_url_change").val();
        alter_url = $("#campaign_alter_url").val();
        click_price = $("#campaign_click_price").val();
        click_day = $("#campaign_click_day").val();
        budget_day = $("#campaign_budget_day").val();
        black_list = $("#campaign_black_list").val();
        white_list = $("#campaign_white_list").val();

        unique_clicks = $("#campaign_unique_clicks").val();

        campaign_url_change = $("#campaign_url_change").val();

        category_more = new Array();

        $(".category_id:enabled:checked").each(function(index, ele){
            category_more[index] = ele.value;
        });

        days = new Array();

        $(".day:checked").each(function(index, ele){
            days[index] = ele.value;
        });


        browser = $('#browser').val().split(',');
        mobile_browser = $('#mobile_browser').val().split(',');

        f=0;

        browser = $('#browser').val().split(',');
        mobile_browser = $('#mobile_browser').val().split(',');

        if (mobile_browser=="" && browser=="")
        {
            alert("Выберите браузер");
            f=1;
        }

        os = $('#os').val().split(',');
        mobile_os = $('#mobile_os').val().split(',');

        if (os=="" && mobile_os=="")
        {
            alert("Выберите операционную систему");
            f=1;
        }
        browser=browser+","+mobile_browser;
        os=os+","+mobile_os;

        geo = $('#geo').val().split(',');

        if ($("#campaign_adult").is(":checked")) {
            adult = 1;
        } else {
            adult = 0;
        }


        if (f==0)
            $.ajax({
                type: "POST",
                dataType:"json",
                url: "/advertiser/campaign/update",
                data: "campaign=" + campaign + "&name=" + name
                    + "&category=" + category + "&is_ware=" + is_ware
                    + "&category_more=" + category_more +"&unique_clicks="
                    +unique_clicks+ "&time_from="
                    + time_from + "&time_to="
                    + time_to + "&days=" + days
                    + "&browser=" + browser + "&os=" + os + "&geo=" + geo
                    + "&url=" + encodeURIComponent(htmlspecialchars(url))
                    + "&alter_url=" + encodeURIComponent(htmlspecialchars(alter_url))+
                    "&click_price=" + click_price + "&click_day=" + click_day
                    + "&budget_day=" + budget_day + "&adult=" + adult
                    + "&black_list=" + black_list + "&white_list="
                    + white_list + "&url_change=" + url_change
                    +"&campaign_url_change=" + campaign_url_change,

                "error": function(data) {
                    alert("Error = "+data.error);
                    window.location.reload();
                },
                "success": function(data){

                    if (data.budget_day == 0) {
                        $("#campaign_budget_day").addClass("error");
                        $("#campaign_budget_day").focus();
                        $("#campaign_budget_day_error").text('Введен не корректный формат');
                    } else {
                        $("#campaign_budget_day").removeClass("error");
                        $("#campaign_budget_day_error").text('');
                    }

                    if (data.click_day == 0) {
                        $("#campaign_click_day").addClass("error");
                        $("#campaign_click_day").focus();
                        $("#campaign_click_day_error").text('Введен не корректный формат');
                    } else {
                        $("#campaign_click_day").removeClass("error");
                        $("#campaign_click_day_error").text('');
                    }

                    if (data.click_price == 0) {
                        $("#campaign_click_price").addClass("error");
                        $("#campaign_click_price").focus();
                        $("#campaign_click_price_error").text('Введен не корректный формат');
                    }
                    else if (data.click_price == 2) {
                        $("#campaign_click_price").addClass("error");
                        $("#campaign_click_price").focus();
                        $("#campaign_click_price_error").text('Введенная цена ниже минимальной.');
                    }
                    else {
                        $("#campaign_click_price").removeClass("error");
                        $("#campaign_click_price_error").text('');
                    }

                    if (data.url == 0) {
                        $("#campaign_url").addClass("error");
                        $("#campaign_url").focus();
                        $("#campaign_url_error").text(data.url_error);
                    } else {
                        $("#campaign_url").removeClass("error");
                        $("#campaign_url_error").text('');
                    }

                    if (data.alter_url == 0) {
                        $("#campaign_alter_url").addClass("error");
                        $("#campaign_alter_url").focus();
                        $("#campaign_alter_url_error").text(data.alter_url_error);
                    } else {
                        $("#campaign_alter_url").removeClass("error");
                        $("#campaign_alter_url_error").text('');
                    }

                    if (data.category == 0) {
                        $("#cuselFrame-campaign_category").addClass("error");
                        $("#campaign_category_error").text('Не выбрана основная тематика кампании');
                    } else {
                        $("#cuselFrame-campaign_category").removeClass("error");
                        $("#campaign_category_error").text('');
                    }

                    if (data.days == 0) {
                        $(".day").addClass("error");
                        $("#campaign_day_error").text('Выберите один или несколько дней недели');
                    } else {
                        $(".day").removeClass("error");
                        $("#campaign_day_error").text('');
                    }

                    if (data.browser == 0) {
                        $(".browser").addClass("error");
                        $("#campaign_browser_error").text('Выберите один или несколько браузеров');
                    } else {
                        $(".browser").removeClass("error");
                        $("#campaign_browser_error").text('');
                    }

                    if (os.browser == 0) {
                        $(".os").addClass("error");
                        $("#campaign_os_error").text('Выберите один или несколько операционных систем');
                    } else {
                        $(".os").removeClass("error");
                        $("#campaign_os_error").text('');
                    }


                    if (data.geo == 0) {
                        $(".geo").addClass("error");
                        $("#campaign_geo_error").text('Выберите одну или несколько стран');
                    } else {
                        $(".geo").removeClass("error");
                        $("#campaign_geo_error").text('');
                    }

                    if (data.name == 0) {
                        $("#campaign_name").addClass("error");
                        $("#campaign_name").focus();
                        $("#campaign_name_error").text(data.name_error);
                    } else {
                        $("#campaign_name").removeClass("error");
                        $("#campaign_name_error").text('');
                    }

                    if (data.error == 0) {
                        window.location=main_url+'/advertiser/campaign/';
                    }

                }
            });
    });


Ошибков в пхп нету. Еще такой нюанс, если убрать datatype:json то ошибки нету но без этого данные не передаются в пхп. Помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 15.05.2013, 14:01
Аватар для bret
Кандидат Javascript-наук
Отправить личное сообщение для bret Посмотреть профиль Найти все сообщения от bret
 
Регистрация: 04.10.2008
Сообщений: 128

1. Есть живой пример?
2. Вываливается ошибка скрипта или секция error аякс-запроса?
__________________
я подыскиваю мозг... твой подойдёт
Ответить с цитированием
  #3 (permalink)  
Старый 15.05.2013, 14:22
Новичок на форуме
Отправить личное сообщение для Estrella Посмотреть профиль Найти все сообщения от Estrella
 
Регистрация: 15.05.2013
Сообщений: 2

1. Не могу показать живой пример, это закрытый сайт.
2. секция error аякс-запроса
Ответить с цитированием
  #4 (permalink)  
Старый 15.05.2013, 16:46
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

080	                data: "campaign=" + campaign + "&name=" + name
081	                    + "&category=" + category + "&is_ware=" + is_ware
082	                    + "&category_more=" + category_more +"&unique_clicks="
083	                    +unique_clicks+ "&time_from="
084	                    + time_from + "&time_to="
085	                    + time_to + "&days=" + days
086	                    + "&browser=" + browser + "&os=" + os + "&geo=" + geo
087	                    + "&url=" + encodeURIComponent(htmlspecialchars(url))
088	                    + "&alter_url=" + encodeURIComponent(htmlspecialchars(alter_url))+
089	                    "&click_price=" + click_price + "&click_day=" + click_day
090	                    + "&budget_day=" + budget_day + "&adult=" + adult
091	                    + "&black_list=" + black_list + "&white_list="
092	                    + white_list + "&url_change=" + url_change
093	                    +"&campaign_url_change=" + campaign_url_change,

а если записать в одно из полей ввода что-нибудь типа "zzz#sometext"?
Ответить с цитированием
  #5 (permalink)  
Старый 15.05.2013, 17:32
Аватар для bret
Кандидат Javascript-наук
Отправить личное сообщение для bret Посмотреть профиль Найти все сообщения от bret
 
Регистрация: 04.10.2008
Сообщений: 128

1. Почему не передавать поля "классическим" методом?
data: {
	campaign: campaign,
	name: name,
	category: category,
	...
},

2. Что пишет в ошибке ajax-запроса? Принтскрин с запрос-ответом сервера в дебаггере тоже секретная информация?
__________________
я подыскиваю мозг... твой подойдёт
Ответить с цитированием
  #6 (permalink)  
Старый 15.05.2013, 18:14
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от bret Посмотреть сообщение
1. Почему не передавать поля "классическим" методом?
а почему не писать
days = [];

вместо
034	        days = new Array();

?

а почему не писать var перед объявлением переменных?

тут ещё много всяких почему.. и по синтаксису, и по логике..
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Баг при просчете данных в простой html-таблице Vargentum jQuery 1 03.05.2013 13:08
ajax: Архивация кода, созданного на сервере при передаче promex565 AJAX и COMET 3 09.12.2012 21:57
Ошибка при добавлении обработчика к событию Riim Events/DOM/Window 32 19.01.2010 14:17
Скрипт по добавлению списка баз данных при входе в систему! Demidovstan Сайт Javascript.ru 3 13.05.2009 17:36
Вывод данных единожды, при открытии окна? Ggorsh Events/DOM/Window 1 28.04.2009 01:04